'''字典 可变序列'''
'''创建字典  前为键，后为值'''
# xm = dict(Name='小明', Age=12, Sex='男')  # 用关键字创建
xm = {'Name': '小明', 'Age': 12, 'Sex': '男'}  # 直接{}创建
# print(xm,type(xm)) #因为有value所以是字典 只有keys就是集合
# for a, b in zip(xm.keys(), xm.values()):
#     print(a, 'is', b)
# c = {a.upper(): b for a, b in zip(xm.keys(), xm.values())} #upper：变为大写
# print(c,type(c))

'''字典元素操作'''
'''查找元素'''
# print(xm['name'])  # 无关键字时会抛出异常
# print(xm.get('age'))  # 无关键字会返回控制none
# print(xm.get('hight', '未知'))  # 没有我要查找的关键字的时候 设置返回'未知'

'''键的判断'''
# print('use' not in xm)  # 对 就是你想的那种方式，贼简单

'''元素删除'''
# del xm['name']  # 删除对应键和元素
# xm.clear()  # 清空字典
# print(xm)

'''元素更新'''
# xm['name'] = '小李'  # 指定新键就是增加
# print(xm)

'''字典的视图操作 获取'''
# print(xm.keys())  # 键-------\
# print(xm.values())  # 值-------有类型
# print(xm.items())  # All-----/
# print(list(xm.keys()))  # ------\
# print(list(xm.values()))  # ------无类型————列表
# print(list(xm.items()))  # -----/                其中('name','小明')是一个元组

'''字典元素的遍历'''
# for i in xm:
#     print(i, xm[i])

#   字典中所有元素必须是kay-value相对，且key不可重复/有重复就相当与于覆盖，value可以
#   字典中的元素是无序的————没有下标
#   字典里的key必须是不可变对象
#   字典可以根据需要动态伸缩
#   字典会浪费较大内存，是一种使用空间换时间的数据结构
